/* $ID$ */

/*
* Copyright (c) 2011, Yury Y. Kuznetsov
* All rights reserved.
* 
* Redistribution and use in source and binary forms, with or without modification, 
* are permitted provided that the following conditions are met:
*
* o Redistributions of source code must retain the above copyright notice, 
*   this list of conditions and the following disclaimer.
* o Redistributions in binary form must reproduce the above copyright notice, 
*   this list of conditions and the following disclaimer in the documentation 
*   and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 
* SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY 
* WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#include <gtest/gtest.h>

#include "cgetopt.h"

TEST(GetoptTest, test1)
{
	char *argv[] = { "test.exe", "-o", "123", "-o234", "-abc" };
	int argc = sizeof(argv)/sizeof(*argv);

	Getopt g;

	int c;
	int opt_count = 0;
	while((c = g.getopt(argc, argv, "o:abc")) != -1) {
		switch(c) {
		case 'o':
			++opt_count;
			std::cout  << "option: o, val: " << g.optarg << std::endl;
			break;
		default:
			++opt_count;
			std::cout << "option: " << static_cast<char>(c) << std::endl;
		}
	}
	EXPECT_EQ(5, opt_count); 
}

// Local Variables:
// mode: c++
// c-basic-offset: 4
// tab-width: 4
// End:
